package com.itqf.dao;

import com.itqf.entity.User;

import java.sql.SQLException;
import java.util.List;

/**
 * 负责用户模块数据库访问的接口
 */
public interface UserDao {

    /**
     * 根据用户名查询用户是否存在
     * @param username 查询的条件
     * @return 返回对应的用户数据
     */
    User  selectUserByUname(String username) throws SQLException;

    /**
     *增加用户
     * @param user
     * @return 返回受影响的结果
     */
    int insert(User user) throws SQLException;

    /**
     * 根据激活码查询用户
     * @param code 激活码——查询条件
     * @return  查询到的用户数据
     */
    User selectUserByActiveCode(String code) throws SQLException;

    /**
     * 更新用户的激活状态
     * @param u_id 用户实体的主键——唯一标识
     * @return  激活状态   0激活失败   1激活成功
     */
    int updateStatusByUid(int u_id) throws SQLException;

    User selectUser(String username, String sex) throws SQLException;

    List<User> selectAllUser() throws SQLException;

    int deleteUserByUid(int uid) throws SQLException;
}
